<?php

namespace app\framework\lib;
class Redis
{

    private static $instance;

    public static function getInstance()
    {
        if (!isset(self::$instance)) {
            try {
                $redis = new \Redis();
                $config = Config::getInstance()->redis;
                $redis->connect($config["host"], $config["port"], 3);
                self::$instance = $redis;
            } catch (\RedisException $e) {
                // 记录错误日志（建议使用日志类，而非直接echo）
                Log::error("Redis连接失败：" . $e->getMessage());
                // 抛出异常，让上层处理
                throw new \RuntimeException("Redis服务不可用，请检查配置或服务状态");
            }
        }
        return self::$instance;
    }


    public static function __callStatic($name, $arguments)
    {
        return self::getInstance()->$name(...$arguments);
    }
}